5. SPI
5.1 简介
SPI 全称为串行外设接口(Serial Peripheral Interface),其是一种高速的,全双工,同步通信总线。
它以主从方式工作,这种模式通常一个主设备对应一个或多个从设备,双向数据传输时需要4根线,单向数据传输时可以裁切为3根线。
SPI 总线本身由四个物理连接组成:两条数据线,一条时钟线和从选择线。
MOSI(主机输出/从机输入) – Core3566将数据发送到设备(传感器)的线路。
MISO(主机输入/从机输出) – 设备将数据发送到 Core3566 的线路。
SCLK(时钟) –时钟信号线。
SS / CS(从站选择/芯片选择) –用于选择向其发送数据的设备的线路。
Core3566 有两个 SPI 接口,分别是 SPI1 和 SPI3。
5.2 开启 SPI 接口
打开方法与 I2C 类似,选择SPI即可。
┌────────────┤ luckfox Software Configuration Tool (luckfox-config) ├────────────┐
│ │
│ P1 SPI1 Enable/disable automatic loading of SPI1 kernel module │
│ P2 SPI3 Enable/disable automatic loading of SPI3 kernel module │
│ │
│ │
│ │
│ │
│ │
│ <Select> <Back> │
│ │
└────────────────────────────────────────────────────────────────────────────────┘使用 ls 指令查看是否开启成功:
linaro@linaro-alip:~$ ls /dev/spi*
/dev/spidev1.0 /dev/spidev1.1
5.3 硬件连接
Core3566 连接引脚对应关系:
1.5inch OLED Module Core3566Board物理引脚序号 功能 VCC 3V3 电源输入 GND GND 电源地 DIN SPI1_MOSI 主机输出/从机输入 CLK SPI1_CLK SPI时钟信号 CS SPI1_CS0 片选 DC GPIO3_A3 数据/命令选择 RST GPIO3_C4 复位 接线图
5.4 使用 Python 程序控制
下载实验例程,在终端运行程序:
cd ~/OLED_1in5/
sudo python3 OLED_1in5_spi.py